草庐IT

c++ - boost 序列化 std::unique_ptr 支持

全部标签

c# - 如何覆盖 C# 中的反序列化

我有一个类会随着时间的推移进行某些版本更改。作为我的应用程序启动的一部分,来自此类内部的数据被序列化和反序列化。我遇到的问题是,如果我通过添加更多属性来更新类,然后启动应用程序,则无法正确加载旧数据。我想要做的是重写反序列化步骤,我不介意从xml手动重建对象,因为我存储了版本号并可以使用它递归更新对象的版本。有没有我可以实现的接口(interface),或者我可以在某处设置的属性,以便能够做到这一点?如果你想不出一种方法来做我想做的事,还有其他选择吗?例如我正在加载的xml版本中可能不存在的属性的默认值。 最佳答案 实现IXmlSe

XMLHttpRequest 无法加载 跨源请求仅支持 HTTP

从XML文件获取数据时发现异常101:XMLHttpRequest无法加载文件:///C:/Users/zaid/Desktop/xml/cd_catalog.xml。仅HTTP支持跨源请求。if(window.XMLHttpRequest){//codeforIE7+,Firefox,Chrome,Opera,Safarixmlhttp=newXMLHttpRequest();}else{//codeforIE6,IE5xmlhttp=newActiveXObject("Microsoft.XMLHTTP");}xmlhttp.open("GET","xml/cd_catalog.x

c# - 如何在 C# (System.Xml.Serialization) 中反序列化 XML 命名空间?

我只是对我的Zthesformat做最后的润色反序列化器(System.Xml.Serialization)在元素“thes”中使用命名空间“dc”。所有“term”元素都可以很好地反序列化,因为它们没有命名空间,但我不知道如何告诉反序列化器“thes”元素有一个命名空间。这是我正在尝试做的事情(它不起作用)所以希望有人能给我正确的语法。[XmlElement("namespace:someElement")]publicstringSomeElement; 最佳答案 这是给您的快速示例...[XmlRoot("myObject")

c# - 使用特殊字符反序列化 XML 的快速方法

我正在寻找反序列化xml的快速方法,其中包含特殊字符,如ö。我使用的是XMLReader,它无法反序列化这些字符。有什么建议吗?编辑:我正在使用C#。代码如下:XElementelement=..//hasthexmlXmlSerializerserializer=newXmlSerializer(typeof(MyType));XmlReaderreader=element.CreateReader();Objecto=serializer.Deserialize(reader); 最佳答案 我猜你遇到了编码问题,而不是在XMLR

xml - Xpath标准是否支持属性中的空值

例如,以下xpath字符串是否有效:/web:input_text[@value=null]这意味着该元素没有值属性。 最佳答案 此XPath返回没有value属性的web:input_text:/web:input_text[not(@value)]XPath/web:input_text[@value=null]选择web:input_text其值为value属性=null节点。 关于xml-Xpath标准是否支持属性中的空值,我们在StackOverflow上找到一个类似的问题:

c# - 如何使 XML 反序列化更快?

我有如下一段代码publicstaticobjectXmlDeserialize(stringxml,TypeobjType){StringReaderstream=null;XmlTextReaderreader=null;try{XmlSerializerserializer=newXmlSerializer(objType);stream=newStringReader(xml);//Readxmldatareader=newXmlTextReader(stream);//Createreaderreturnserializer.Deserialize(reader);}fina

c# - 将 XML 反序列化为 Dictionary<string, string>

我有一些XML;JamesJohnetc..name1、name2等可以是任何东西,我希望能够将此xml理想地放入字典中,这是否可能使用内置的.net序列化?谢谢,詹姆斯。编辑:理想情况下我不想使用linq。是否可以将整个元素数组序列化为字符串?所以我最终会得到一个包含所有子元素标签和数据的字符串对象“Data”? 最佳答案 不,但是您可以使用Linq-to-Xml来这样做:XDocument.Load([filepath,stream,whatever]).Descendants("data").Descendants().ToD

c# - 覆盖 XML 序列化方法

我在尝试自定义DateTime变量在我的对象中序列化的方式时遇到了问题。我希望它输出为2011-09-26T13:00:00Z但是当我重写GetObjectData()函数时,我相信这是执行此操作的方法,根本没有为它们输出XML数据。[DataContract(Namespace="")][XmlRootAttribute(Namespace="http://www.w3.org/2005/Atom",ElementName="feed")]publicclassGCal{[XmlNamespaceDeclarations]publicXmlSerializerNamespaces_x

c# - XmlSerializer 序列化空变量以使用两个标签?

我希望能够将序列化的xml类加载到SoapEnvelope。我开始了,所以我没有填满内脏,所以它看起来像:我希望它看起来像:`我写的类是这样的:[System.SerializableAttribute()][System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true,Namespace="http://schemas.xmlsoap.org/soap/envelope/")][System.Xml.Serialization.XmlRootAttribute(Namespace="http://schemas.xmlsoa

c# - 摆脱 C# XML 序列化中的数组名称

我试图在序列化XML时得到这个结果:Eldad1234或者换句话说-我试图在“根”元素中包含一个数组,以及其他键。这是我粗略的尝试:[XmlRootAttribute(ElementName="Root",IsNullable=false)]publicclassRootNode{[XmlAttribute("Name")]publicstringName{get;set;}publicstringSomeKey{get;set;}[XmlArrayItem("Element")]publicListElements{get;set;}}还有我的连载:stringresult;XmlS